import matplotlib.pyplot as plt

"""散点图"""


def demo1():
    x_values = [1, 2, 3, 4, 5]
    y_values = [1, 4, 9, 16, 25]
    plt.scatter(x_values, y_values, s=100)  # s:点的大小
    plt.show()


def demo2():
    x_values = list(range(1, 1001))
    y_values = [x**2 for x in x_values]
    # matplotlib 允许你给散点图中的各个点指定颜色。默认为蓝色点和黑色轮廓,在散点图包含的数据点不多时效果很好。但绘制很多点时,黑色轮廓可能会粘连在一起。要删除数据
    # 点的轮廓,可在调用scatter() 时传递实参edgecolor='none' :
    # c :颜色
    # plt.scatter(x_values, y_values, c=(0, 0, 0.8), edgecolors='none', s=40)
    # 根据y值逐渐加深颜色
    plt.scatter(x_values, y_values, c=y_values, cmap=plt.cm.Blues, edgecolors='none', s=40)
    plt.title("Demo2", fontsize=14)
    plt.xlabel("x_value", fontsize=14)
    plt.ylabel("y_value", fontsize=14)
    # 设置每个坐标轴的取值范围
    plt.axis([0, 1100, 0, 1100000])
    plt.show()
    # 要让程序自动将图表保存到文件中,可将对plt.show() 的调用替换为对plt.savefig() 的调用
    # 第二个实参指定将图表多余的空白区域裁剪掉。如果要保留图表周围多余的空白区域,可省略这个实参。
    # plt.savefig('scatter_plot.png', bbox_inches='tight')


demo2()


